#ifndef __BSP_MSGPORT_DEV__
#define __BSP_MSGPORT_DEV__

#include "main.h"
#include <stdint.h>
#include "msg_port_core.h"
#include "msg_port_config.h"


void msg_port_Init(void);
void msg_port_create(msg_port_t *msg_port,
				  uint8_t (*check_send_state)(struct _msg_port_t *msg_port),
				  void (*uart_write)(struct _msg_port_t *msg_port, uint8_t *str, uint16_t size));
					
uint8_t msg_port_send(msg_port_t *msg_port,
					  uint8_t *str,
					  uint16_t size);
void msg_ports_traverse(void);

				  
uint8_t msg_port_RxNoEmpty(msg_port_t *msg_port);
uint8_t msg_port_RxEnqueue(msg_port_t *msg_port,
						   uint8_t *str,uint16_t size);
uint8_t msg_port_RxDequeue(msg_port_t *msg_port,
						   uint8_t *msg_buff,
						   uint16_t *msg_size);				  
#endif
